package main

import (
	"html/template"
	"net/http"

	"github.com/gin-gonic/gin"
)

// 静态文件: html页面上用到的样式文件 .css .js文件 图片
func main() {
	r := gin.Default() //创建路由引擎
	//加载静态文件
	r.Static("/xxx", "./statics") //第一个是html里引用的目录, 第二个是存放静态文件的目录
	//gin框架中给模板添加自定义函数
	r.SetFuncMap(template.FuncMap{
		"safe": func(str string) template.HTML {
			return template.HTML(str)
		},
	})
	//r.LoadHTMLFiles("templates/index.tmpl") //模板解析
	r.LoadHTMLGlob("./templates/**/*") //模板解析, 接收一个解析规则

	r.GET("/posts/index", func(c *gin.Context) { //访问index时,执行后面的函数-返回一个模板文件并渲染成数据
		//HTTP请求
		c.HTML(http.StatusOK, "posts/index.tmpl", gin.H{ //模板渲染
			"title": "baidu.com",
		})

	})

	r.GET("/users/index", func(c *gin.Context) { //访问index时,执行后面的函数-返回一个模板文件并渲染成数据
		//HTTP请求
		c.HTML(http.StatusOK, "users/index.tmpl", gin.H{ //模板渲染
			"title": "<a href='http://www.baidu.com'>百度一下</a>",
		})

	})

	//返回从网上下载的模板
	r.GET("/home", func(c *gin.Context) {
		c.HTML(http.StatusOK, "aaa.html", nil)
	})

	r.Run(":9090") //在9090端口启动server

}
